1. Field of the Invention
This invention relates to electronic data storage and more particularly relates to management of metadata related to data access on shared electronic storage resources.
2. Description of the Related Art
Networked computing environments, also referred to as distributed computing environments, allow many user computers to be interconnected by a network communication channel. The network communication channel may include a local area network (LAN), a wide area network (WAN), a wireless network (WiFi or 802.11x), a metropolitan area network (MAN), or one of many variations of these types of networks. These data communication channels are used to transfer data among clients, servers, storage devices, and other network equipment and nodes.
One important application of network communications involves distributed storage technology where many different clients are able to transfer data to and store data on shared storage resources. A LAN backup topology, for example, allows many clients to send storage data to shared storage resources via a storage server connected to the LAN. Unfortunately a LAN backup topology may allow data storage operations to consume a large portion of the network resources.
Another type of network that may be dedicated to data transfers primarily used for storage and retrieval is a storage area network (SAN). A SAN backup topology allows many clients to communicate large amounts of storage data (also referred to as end-user data, file data, primary data, etc.) to a shared storage device without using the network resources of a corresponding LAN, for example. This type of backup topology is also known as a LAN-free backup topology because the LAN resources are, for the most part, not used to transfer the file data between the client and the storage device.
Some SAN backup topologies also employ one or more storage agents, which may perform functions similar to a storage server. By installing a storage agent on a client, for example, the storage agent may reduce the demand for storage server resources. The storage agent may communicate with the storage server over the LAN, but may send the file data directly to the storage device over the SAN, relieving the storage server of actual file data transfer operations.
When storing client-specific file data on shared storage devices, such as using a SAN, a data access operation typically involves processing metadata as well as storing the file data. Metadata for a data access operation is the information that is stored by a storage application that may describe who owns the file data, what attributes are associated with the file data, access rights to the file data, and other related information. In existing SAN backup topologies that employ storage agents, each storage agent may act like a local storage server processing metadata at the client, such as processing data access searches and queries, and so forth.
Coordinating and managing the metadata for all of the file data stored on the distributed storage resources in this way, however, can produce significant network inefficiency and metadata redundancy. For example, the storage agent may require that the storage server send a copy of the metadata back to the storage agent so that the storage agent can perform metadata filtering, searches, and queries related to a data access operation. The storage server, however, may be capable of performing similar metadata processing without duplicating the metadata or transferring the metadata over the LAN. In other words, remote processing of metadata operations at the storage agent located on the client introduces inefficiency and increased overhead related to a data access operation.
Consequently, an apparatus, system, and method are needed that overcome the networking inefficiencies and metadata duplication introduced by allowing storage agents to perform substantial metadata operations at the client. Beneficially, such an apparatus, system, and method would also overcome inefficiencies and overhead costs associated with data access failures experienced by a storage agent.